import java.util.Scanner;
/*给你一个整数数组 cost ，其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。
一旦你支付此费用，即可选择向上爬一个或者两个台阶。
你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。
请你计算并返回达到楼梯顶部的最低花费。
示例 1：
输入：cost = [10,15,20]
输出：15*/
public class Main {
    public static int seekaddress(int[] cost) {
        int n = cost.length;
        int[] dp = new int[n + 1]; // 记录爬梯花费
        for (int i = 2; i <= n; i++) { // dp.length
            dp[i] = Math.min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2]); // 记录每一步的话费，并累加，最后即为结果
        }
        return dp[n];
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] cost = new int[n];
        for (int i = 0; i < n; i++) {
            cost[i] = sc.nextInt();
        }
        int mincost = seekaddress(cost);
        System.out.println(mincost);
    }
}